Datacenters have experienced rapid growth, and the growth rate is expected to accelerate. The torrid development is fueled by an increasing demand, and made possible by reduced costs of the components of datacenters. Datacenter are chiefly constructed from processing nodes, storage nodes, and networks that connects the processing nodes and the storage nodes. Both the processing nodes and the storage nodes have become smaller, less expensive, and more energy efficient, allowing datacenters to pack more processing and storage nodes into smaller spaces to meet the increasing demand for data processing and storage. As the processing nodes consume more and more data at higher rates, and retrieve and store the data from and into the storage nodes, the networks must transmit more and more data at higher speeds between increasing numbers of connections. As a result, the costs of the networks have become significant, in relationship to the falling costs of the processing and storage nodes. One estimate puts the cost of the networks, composed mostly of network switches and cables, at ˜50% of new datacenters.
In a traditional datacenter, processing nodes are typically connected via a single primary network. Secondary networks, if any, are primarily used for administrative purpose and are not a topic of discussion here. Each processing node may have one or more locally attached long term storage devices such as hard disks or solid state disks. A processing node accesses its long term storage device to satisfy its internal needs and often on behalf of a system-wide distributed storage system. A number of processing nodes, each with one or more long term storage devices, are packaged in a processing module. The computing power of the datacenter is scaled up primarily by adding processing modules. This construction framework places a heavy demand on the primary high-speed network, since every processing node added relies on the primary high-speed network to communicate with existing processing nodes. The capacity of the high-speed network has to increase in proportion to the numbers of processor nodes added. Because processing nodes are becoming faster and less expensive, while fast connectivity is getting more expensive, high-speed network costs have become the bottleneck that impedes the scaling up of datacenter computing capacity at low cost.
For example, the traditional network architecture used in datacenters is a three-tier system that follows a multi-rooted tree topology composed of three layers of network switches, namely access, aggregate, and core layers, from low to high. The access layer directly reaches root servers and interconnects into the aggregate layers. The access layer switches ultimately connect to each other by the core layer switches, which are also responsible for connecting the datacenter to the Internet. The three-tier legacy system is difficult to scale up and the higher layers of the three-tier are highly oversubscribed. In addition, fault tolerance, energy efficiency, and cross-sectional bandwidth are problematic.
In a further example, the Fat Tree datacenter architecture attempts to address the oversubscription and cross section bandwidth problems faced by the traditional three-tier datacenter network architecture. The Fat Tree topology offers 1:1 oversubscription ratio and full bisection bandwidth. However, the Fat Tree topology employs a much higher number of network switches than the three-tier legacy system and is also difficult to scale up.
In a still further example, the DCell architecture adopts a server-centric hybrid architecture where one server is directly connected to many other servers. The DCell topology relies on a recursively built hierarchy of cells arranged in multiple levels, where a higher level cell contains multiple lower layer cells, and servers within a cell is assigned to their own switches. While easily scalable, the cross section bandwidth and network latency are major issues in DCell architecture. In addition, DCell requires multiple network interfaces on each server to achieve scalability.
Facebook has set out the Open Compute Project, aiming to develop datacenter servers that are both energy- and cost-efficient. The solutions that the Open Compute Project promotes include vanity-free design of hardware, open vault storage building blocks, mechanical mounting system, and high disk densities. The result of these efforts are datacenters made of vanity-free servers that are up to 38% more energy-efficient and up to 24% less expensive to build and run than traditional server hardware. However, the solutions practiced in the Open Compute Project amounts to optimization of packing processor nodes. The fundamental dichotomy between a processing function and a storage function, along with the resulting network traffic between the processing nodes that dedicated to computing and storage devices dedicated for storage, remains unchanged.
Nutanix has developed Nutanix Virtual Computing Platform that incorporates a high speed storage (Server Flash) and low speed storage (Hard Disk Storage) locally to processing nodes, to increase the speed and efficiency of computing for datacenters. However, no fundamental network improvement is revealed.
Thus there remains a need for satisfying the demand for high bandwidth and low latency connectivity in datacenters while adding more processing nodes to accommodate the ever-increasing need for more computing power. Preferably, when new processing nodes are added into an existing computer system, the new processing nodes contain their networking functionality and require little or no dedicated network equipment, such as network switches, to be installed, so that computing power and network capacity grows along with the addition of the processing nodes. This paradigm of datacenter network architecture envisions unifying data processing, storage, and transmission through a data processing node fabric that contains its own networking functionality, thus obviates or minimizes the need for network switches while meeting the demands for computing power, storage capacity, low-cost, easy scalability, and robustness, and low energy consumption.
Moreover, this paradigm may incorporate network switches into the unified storage, processing, and network switching fabric instead of completely eliminating them. Network switches occupy the same place in the network as hubs. Unlike hubs, network switches examine and process each data packet accordingly rather than simply repeating the packet to all ports. Network switches map the network addresses of the nodes residing on each network segment and then allow only the necessary traffic to pass through the switch. When a packet is received by a switch, the switch examines the destination and source hardware addresses and compares them to a table of network segments and addresses. If the segments are the same, the packet is dropped or “filtered;” if the segments are different, then the packet is “forwarded” to the proper segment. Additionally, switches prevent bad or misaligned packets from spreading by not forwarding them. Thus, incorporating network switches into the unified storage, processing, and network switching fabric may facilitate control of data traffic flow and enhance the overall performance of datacenter computer system. More importantly, existing datacenters use switches extensively, thus scaling up existing datacenters with, or migrating existing datacenters to, processing nodes containing their own networking functionality would be made easier and cost-efficient if network switch can be incorporated efficiently into the connecting schemes that heavily replies upon the networking functionality effected through the processing nodes.
Thus, there remains a need for a system and a method to efficiently incorporate network switches into a datacenter network system where at least some of the processing nodes containing their own networking functionality.